home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / Connections.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  15.8 KB  |  561 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Connections.h
  3.  
  4.      Contains:    Communications Toolbox Connection Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1988-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __CONNECTIONS__
  18. #define __CONNECTIONS__
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21.     #include <ConditionalMacros.h>
  22. #endif
  23.  
  24. #ifndef __MACTYPES__
  25.     #include <MacTypes.h>
  26. #endif
  27.  
  28. #ifndef __MIXEDMODE__
  29.     #include <MixedMode.h>
  30. #endif
  31.  
  32. #ifndef __DIALOGS__
  33.     #include <Dialogs.h>
  34. #endif
  35.  
  36.  
  37.  
  38.  
  39. #if PRAGMA_ONCE
  40. #pragma once
  41. #endif
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. #if PRAGMA_IMPORT
  48. #pragma import on
  49. #endif
  50.  
  51. #if PRAGMA_STRUCT_ALIGN
  52.     #pragma options align=mac68k
  53. #elif PRAGMA_STRUCT_PACKPUSH
  54.     #pragma pack(push, 2)
  55. #elif PRAGMA_STRUCT_PACK
  56.     #pragma pack(2)
  57. #endif
  58.  
  59. #if CALL_NOT_IN_CARBON
  60. enum {
  61.     curCMVersion                = 2                                /* current Connection Manager version*/
  62. };
  63.  
  64. enum {
  65.     curConnEnvRecVers            = 0                                /*    current Connection Manager Environment Record version*/
  66. };
  67.  
  68. enum {
  69.                                                                 /* CMErr */
  70.     cmGenericError                = -1,
  71.     cmNoErr                        = 0,
  72.     cmRejected                    = 1,
  73.     cmFailed                    = 2,
  74.     cmTimeOut                    = 3,
  75.     cmNotOpen                    = 4,
  76.     cmNotClosed                    = 5,
  77.     cmNoRequestPending            = 6,
  78.     cmNotSupported                = 7,
  79.     cmNoTools                    = 8,
  80.     cmUserCancel                = 9,
  81.     cmUnknownError                = 11
  82. };
  83.  
  84. typedef OSErr                             CMErr;
  85.  
  86. enum {
  87.     cmData                        = 1L << 0,
  88.     cmCntl                        = 1L << 1,
  89.     cmAttn                        = 1L << 2,
  90.     cmDataNoTimeout                = 1L << 4,
  91.     cmCntlNoTimeout                = 1L << 5,
  92.     cmAttnNoTimeout                = 1L << 6,
  93.     cmDataClean                    = 1L << 8,
  94.     cmCntlClean                    = 1L << 9,
  95.     cmAttnClean                    = 1L << 10,                        /*        Only for CMRecFlags (not CMChannel) in the rest of this enum    */
  96.     cmNoMenus                    = 1L << 16,
  97.     cmQuiet                        = 1L << 17,
  98.     cmConfigChanged                = 1L << 18
  99. };
  100.  
  101. /* CMRecFlags and CMChannel        */
  102. /*        Low word of CMRecFlags is same as CMChannel    */
  103. typedef long                             CMRecFlags;
  104. typedef short                             CMChannel;
  105.  
  106.  
  107. enum {
  108.     cmStatusOpening                = 1L << 0,
  109.     cmStatusOpen                = 1L << 1,
  110.     cmStatusClosing                = 1L << 2,
  111.     cmStatusDataAvail            = 1L << 3,
  112.     cmStatusCntlAvail            = 1L << 4,
  113.     cmStatusAttnAvail            = 1L << 5,
  114.     cmStatusDRPend                = 1L << 6,                        /* data read pending    */
  115.     cmStatusDWPend                = 1L << 7,                        /* data write pending    */
  116.     cmStatusCRPend                = 1L << 8,                        /* cntl read pending    */
  117.     cmStatusCWPend                = 1L << 9,                        /* cntl write pending    */
  118.     cmStatusARPend                = 1L << 10,                        /* attn read pending    */
  119.     cmStatusAWPend                = 1L << 11,                        /* attn write pending    */
  120.     cmStatusBreakPend            = 1L << 12,
  121.     cmStatusListenPend            = 1L << 13,
  122.     cmStatusIncomingCallPresent    = 1L << 14,
  123.     cmStatusReserved0            = 1L << 15
  124. };
  125.  
  126. typedef unsigned long                     CMStatFlags;
  127. enum {
  128.     cmDataIn                    = 0,
  129.     cmDataOut                    = 1,
  130.     cmCntlIn                    = 2,
  131.     cmCntlOut                    = 3,
  132.     cmAttnIn                    = 4,
  133.     cmAttnOut                    = 5,
  134.     cmRsrvIn                    = 6,
  135.     cmRsrvOut                    = 7
  136. };
  137.  
  138. typedef unsigned short                     CMBufFields;
  139. typedef Ptr                             CMBuffers[8];
  140. typedef long                             CMBufferSizes[8];
  141. typedef const long *                    ConstCMBufferSizesParam;
  142. enum {
  143.     cmSearchSevenBit            = 1L << 0
  144. };
  145.  
  146. typedef unsigned short                     CMSearchFlags;
  147. enum {
  148.     cmFlagsEOM                    = 1L << 0
  149. };
  150.  
  151. typedef unsigned short                     CMFlags;
  152.  
  153. struct ConnEnvironRec {
  154.     short                             version;
  155.     long                             baudRate;
  156.     short                             dataBits;
  157.     CMChannel                         channels;
  158.     Boolean                         swFlowControl;
  159.     Boolean                         hwFlowControl;
  160.     CMFlags                         flags;
  161. };
  162. typedef struct ConnEnvironRec            ConnEnvironRec;
  163. typedef ConnEnvironRec *                ConnEnvironRecPtr;
  164. typedef struct ConnRecord                 ConnRecord;
  165.  
  166. typedef ConnRecord *                    ConnPtr;
  167. typedef ConnPtr *                        ConnHandle;
  168. typedef CALLBACK_API( long , ConnectionToolDefProcPtr )(ConnHandle hConn, short msg, long p1, long p2, long p3);
  169. typedef CALLBACK_API( void , ConnectionSearchCallBackProcPtr )(ConnHandle hConn, Ptr matchPtr, long refNum);
  170. typedef CALLBACK_API( void , ConnectionCompletionProcPtr )(ConnHandle hConn);
  171. typedef CALLBACK_API( void , ConnectionChooseIdleProcPtr )(void );
  172. typedef STACK_UPP_TYPE(ConnectionToolDefProcPtr)                 ConnectionToolDefUPP;
  173. typedef STACK_UPP_TYPE(ConnectionSearchCallBackProcPtr)         ConnectionSearchCallBackUPP;
  174. typedef STACK_UPP_TYPE(ConnectionCompletionProcPtr)             ConnectionCompletionUPP;
  175. typedef STACK_UPP_TYPE(ConnectionChooseIdleProcPtr)             ConnectionChooseIdleUPP;
  176.  
  177. struct ConnRecord {
  178.     short                             procID;
  179.     CMRecFlags                         flags;
  180.     CMErr                             errCode;
  181.     long                             refCon;
  182.     long                             userData;
  183.     ConnectionToolDefUPP             defProc;
  184.     Ptr                             config;
  185.     Ptr                             oldConfig;
  186.     long                             asyncEOM;
  187.     long                             reserved1;
  188.     long                             reserved2;
  189.     Ptr                             cmPrivate;
  190.     CMBuffers                         bufferArray;
  191.     CMBufferSizes                     bufSizes;
  192.     long                             mluField;
  193.     CMBufferSizes                     asyncCount;
  194. };
  195.  
  196. enum {
  197.                                                                 /* CMIOPB constants and structure */
  198.     cmIOPBQType                    = 10,
  199.     cmIOPBversion                = 0
  200. };
  201.  
  202.  
  203. struct CMIOPB {
  204.     QElemPtr                         qLink;
  205.     short                             qType;                        /* cmIOPBQType */
  206.     ConnHandle                         hConn;
  207.     Ptr                             theBuffer;
  208.     long                             count;
  209.     CMFlags                         flags;
  210.     ConnectionCompletionUPP         userCompletion;
  211.     long                             timeout;
  212.     CMErr                             errCode;
  213.     CMChannel                         channel;
  214.     long                             asyncEOM;
  215.     long                             reserved1;
  216.     short                             reserved2;
  217.     short                             version;                    /* cmIOPBversion */
  218.     long                             refCon;                        /* for application */
  219.     long                             toolData1;                    /* for tool */
  220.     long                             toolData2;                    /* for tool */
  221. };
  222. typedef struct CMIOPB                    CMIOPB;
  223. typedef CMIOPB *                        CMIOPBPtr;
  224. #if OPAQUE_UPP_TYPES
  225.     EXTERN_API(ConnectionToolDefUPP)
  226.     NewConnectionToolDefUPP           (ConnectionToolDefProcPtr userRoutine);
  227.  
  228.     EXTERN_API(ConnectionSearchCallBackUPP)
  229.     NewConnectionSearchCallBackUPP    (ConnectionSearchCallBackProcPtr userRoutine);
  230.  
  231.     EXTERN_API(ConnectionCompletionUPP)
  232.     NewConnectionCompletionUPP       (ConnectionCompletionProcPtr userRoutine);
  233.  
  234.     EXTERN_API(ConnectionChooseIdleUPP)
  235.     NewConnectionChooseIdleUPP       (ConnectionChooseIdleProcPtr userRoutine);
  236.  
  237.     EXTERN_API(void)
  238.     DisposeConnectionToolDefUPP       (ConnectionToolDefUPP    userUPP);
  239.  
  240.     EXTERN_API(void)
  241.     DisposeConnectionSearchCallBackUPP    (ConnectionSearchCallBackUPP userUPP);
  242.  
  243.     EXTERN_API(void)
  244.     DisposeConnectionCompletionUPP    (ConnectionCompletionUPP userUPP);
  245.  
  246.     EXTERN_API(void)
  247.     DisposeConnectionChooseIdleUPP    (ConnectionChooseIdleUPP userUPP);
  248.  
  249.     EXTERN_API(long)
  250.     InvokeConnectionToolDefUPP       (ConnHandle                hConn,
  251.                                     short                    msg,
  252.                                     long                    p1,
  253.                                     long                    p2,
  254.                                     long                    p3,
  255.                                     ConnectionToolDefUPP    userUPP);
  256.  
  257.     EXTERN_API(void)
  258.     InvokeConnectionSearchCallBackUPP    (ConnHandle        hConn,
  259.                                     Ptr                        matchPtr,
  260.                                     long                    refNum,
  261.                                     ConnectionSearchCallBackUPP userUPP);
  262.  
  263.     EXTERN_API(void)
  264.     InvokeConnectionCompletionUPP    (ConnHandle            hConn,
  265.                                     ConnectionCompletionUPP    userUPP);
  266.  
  267.     EXTERN_API(void)
  268.     InvokeConnectionChooseIdleUPP    (ConnectionChooseIdleUPP userUPP);
  269.  
  270. #else
  271.     enum { uppConnectionToolDefProcInfo = 0x0000FEF0 };             /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  272.     enum { uppConnectionSearchCallBackProcInfo = 0x00000FC0 };         /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
  273.     enum { uppConnectionCompletionProcInfo = 0x000000C0 };             /* pascal no_return_value Func(4_bytes) */
  274.     enum { uppConnectionChooseIdleProcInfo = 0x00000000 };             /* pascal no_return_value Func() */
  275.     #define NewConnectionToolDefUPP(userRoutine)                     (ConnectionToolDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppConnectionToolDefProcInfo, GetCurrentArchitecture())
  276.     #define NewConnectionSearchCallBackUPP(userRoutine)             (ConnectionSearchCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppConnectionSearchCallBackProcInfo, GetCurrentArchitecture())
  277.     #define NewConnectionCompletionUPP(userRoutine)                 (ConnectionCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppConnectionCompletionProcInfo, GetCurrentArchitecture())
  278.     #define NewConnectionChooseIdleUPP(userRoutine)                 (ConnectionChooseIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppConnectionChooseIdleProcInfo, GetCurrentArchitecture())
  279.     #define DisposeConnectionToolDefUPP(userUPP)                     DisposeRoutineDescriptor(userUPP)
  280.     #define DisposeConnectionSearchCallBackUPP(userUPP)             DisposeRoutineDescriptor(userUPP)
  281.     #define DisposeConnectionCompletionUPP(userUPP)                 DisposeRoutineDescriptor(userUPP)
  282.     #define DisposeConnectionChooseIdleUPP(userUPP)                 DisposeRoutineDescriptor(userUPP)
  283.     #define InvokeConnectionToolDefUPP(hConn, msg, p1, p2, p3, userUPP)  (long)CALL_FIVE_PARAMETER_UPP((userUPP), uppConnectionToolDefProcInfo, (hConn), (msg), (p1), (p2), (p3))
  284.     #define InvokeConnectionSearchCallBackUPP(hConn, matchPtr, refNum, userUPP)  CALL_THREE_PARAMETER_UPP((userUPP), uppConnectionSearchCallBackProcInfo, (hConn), (matchPtr), (refNum))
  285.     #define InvokeConnectionCompletionUPP(hConn, userUPP)             CALL_ONE_PARAMETER_UPP((userUPP), uppConnectionCompletionProcInfo, (hConn))
  286.     #define InvokeConnectionChooseIdleUPP(userUPP)                     CALL_ZERO_PARAMETER_UPP((userUPP), uppConnectionChooseIdleProcInfo)
  287. #endif
  288. /* support for pre-Carbon UPP routines: NewXXXProc and CallXXXProc */
  289. #define NewConnectionToolDefProc(userRoutine)                     NewConnectionToolDefUPP(userRoutine)
  290. #define NewConnectionSearchCallBackProc(userRoutine)             NewConnectionSearchCallBackUPP(userRoutine)
  291. #define NewConnectionCompletionProc(userRoutine)                 NewConnectionCompletionUPP(userRoutine)
  292. #define NewConnectionChooseIdleProc(userRoutine)                 NewConnectionChooseIdleUPP(userRoutine)
  293. #define CallConnectionToolDefProc(userRoutine, hConn, msg, p1, p2, p3) InvokeConnectionToolDefUPP(hConn, msg, p1, p2, p3, userRoutine)
  294. #define CallConnectionSearchCallBackProc(userRoutine, hConn, matchPtr, refNum) InvokeConnectionSearchCallBackUPP(hConn, matchPtr, refNum, userRoutine)
  295. #define CallConnectionCompletionProc(userRoutine, hConn)        InvokeConnectionCompletionUPP(hConn, userRoutine)
  296. #define CallConnectionChooseIdleProc(userRoutine)                InvokeConnectionChooseIdleUPP(userRoutine)
  297.  
  298.  
  299. EXTERN_API( CMErr )
  300. InitCM                            (void);
  301.  
  302. EXTERN_API( Handle )
  303. CMGetVersion                    (ConnHandle             hConn);
  304.  
  305. EXTERN_API( short )
  306. CMGetCMVersion                    (void);
  307.  
  308. EXTERN_API( ConnHandle )
  309. CMNew                            (short                     procID,
  310.                                  CMRecFlags             flags,
  311.                                  ConstCMBufferSizesParam  desiredSizes,
  312.                                  long                     refCon,
  313.                                  long                     userData);
  314.  
  315. EXTERN_API( void )
  316. CMDispose                        (ConnHandle             hConn);
  317.  
  318. EXTERN_API( CMErr )
  319. CMListen                        (ConnHandle             hConn,
  320.                                  Boolean                 async,
  321.                                  ConnectionCompletionUPP  completor,
  322.                                  long                     timeout);
  323.  
  324. EXTERN_API( CMErr )
  325. CMAccept                        (ConnHandle             hConn,
  326.                                  Boolean                 accept);
  327.  
  328. EXTERN_API( CMErr )
  329. CMOpen                            (ConnHandle             hConn,
  330.                                  Boolean                 async,
  331.                                  ConnectionCompletionUPP  completor,
  332.                                  long                     timeout);
  333.  
  334. EXTERN_API( CMErr )
  335. CMClose                            (ConnHandle             hConn,
  336.                                  Boolean                 async,
  337.                                  ConnectionCompletionUPP  completor,
  338.                                  long                     timeout,
  339.                                  Boolean                 now);
  340.  
  341. EXTERN_API( CMErr )
  342. CMAbort                            (ConnHandle             hConn);
  343.  
  344. EXTERN_API( CMErr )
  345. CMStatus                        (ConnHandle             hConn,
  346.                                  CMBufferSizes             sizes,
  347.                                  CMStatFlags *            flags);
  348.  
  349. EXTERN_API( void )
  350. CMIdle                            (ConnHandle             hConn);
  351.  
  352. EXTERN_API( void )
  353. CMReset                            (ConnHandle             hConn);
  354.  
  355. EXTERN_API( void )
  356. CMBreak                            (ConnHandle             hConn,
  357.                                  long                     duration,
  358.                                  Boolean                 async,
  359.                                  ConnectionCompletionUPP  completor);
  360.  
  361. EXTERN_API( CMErr )
  362. CMRead                            (ConnHandle             hConn,
  363.                                  void *                    theBuffer,
  364.                                  long *                    toRead,
  365.                                  CMChannel                 theChannel,
  366.                                  Boolean                 async,
  367.                                  ConnectionCompletionUPP  completor,
  368.                                  long                     timeout,
  369.                                  CMFlags *                flags);
  370.  
  371. EXTERN_API( CMErr )
  372. CMWrite                            (ConnHandle             hConn,
  373.                                  const void *            theBuffer,
  374.                                  long *                    toWrite,
  375.                                  CMChannel                 theChannel,
  376.                                  Boolean                 async,
  377.                                  ConnectionCompletionUPP  completor,
  378.                                  long                     timeout,
  379.                                  CMFlags                 flags);
  380.  
  381. EXTERN_API( CMErr )
  382. CMIOKill                        (ConnHandle             hConn,
  383.                                  short                     which);
  384.  
  385. EXTERN_API( void )
  386. CMActivate                        (ConnHandle             hConn,
  387.                                  Boolean                 activate);
  388.  
  389. EXTERN_API( void )
  390. CMResume                        (ConnHandle             hConn,
  391.                                  Boolean                 resume);
  392.  
  393. EXTERN_API( Boolean )
  394. CMMenu                            (ConnHandle             hConn,
  395.                                  short                     menuID,
  396.                                  short                     item);
  397.  
  398. EXTERN_API( Boolean )
  399. CMValidate                        (ConnHandle             hConn);
  400.  
  401. EXTERN_API( void )
  402. CMDefault                        (Ptr *                    theConfig,
  403.                                  short                     procID,
  404.                                  Boolean                 allocate);
  405.  
  406. EXTERN_API( Handle )
  407. CMSetupPreflight                (short                     procID,
  408.                                  long *                    magicCookie);
  409.  
  410. EXTERN_API( Boolean )
  411. CMSetupFilter                    (short                     procID,
  412.                                  const void *            theConfig,
  413.                                  short                     count,
  414.                                  DialogPtr                 theDialog,
  415.                                  EventRecord *            theEvent,
  416.                                  short *                theItem,
  417.                                  long *                    magicCookie);
  418.  
  419. EXTERN_API( void )
  420. CMSetupSetup                    (short                     procID,
  421.                                  const void *            theConfig,
  422.                                  short                     count,
  423.                                  DialogPtr                 theDialog,
  424.                                  long *                    magicCookie);
  425.  
  426. EXTERN_API( void )
  427. CMSetupItem                        (short                     procID,
  428.                                  const void *            theConfig,
  429.                                  short                     count,
  430.                                  DialogPtr                 theDialog,
  431.                                  short *                theItem,
  432.                                  long *                    magicCookie);
  433.  
  434. EXTERN_API( void )
  435. CMSetupXCleanup                    (short                     procID,
  436.                                  const void *            theConfig,
  437.                                  short                     count,
  438.                                  DialogPtr                 theDialog,
  439.                                  Boolean                 OKed,
  440.                                  long *                    magicCookie);
  441.  
  442. EXTERN_API( void )
  443. CMSetupPostflight                (short                     procID);
  444.  
  445. EXTERN_API( Ptr )
  446. CMGetConfig                        (ConnHandle             hConn);
  447.  
  448. EXTERN_API( short )
  449. CMSetConfig                        (ConnHandle             hConn,
  450.                                  const void *            thePtr);
  451.  
  452. EXTERN_API( OSErr )
  453. CMIntlToEnglish                    (ConnHandle             hConn,
  454.                                  const void *            inputPtr,
  455.                                  Ptr *                    outputPtr,
  456.                                  short                     language);
  457.  
  458. EXTERN_API( OSErr )
  459. CMEnglishToIntl                    (ConnHandle             hConn,
  460.                                  const void *            inputPtr,
  461.                                  Ptr *                    outputPtr,
  462.                                  short                     language);
  463.  
  464. EXTERN_API( long )
  465. CMAddSearch                        (ConnHandle             hConn,
  466.                                  ConstStr255Param         theString,
  467.                                  CMSearchFlags             flags,
  468.                                  ConnectionSearchCallBackUPP  callBack);
  469.  
  470. EXTERN_API( void )
  471. CMRemoveSearch                    (ConnHandle             hConn,
  472.                                  long                     refnum);
  473.  
  474. EXTERN_API( void )
  475. CMClearSearch                    (ConnHandle             hConn);
  476.  
  477. EXTERN_API( CMErr )
  478. CMGetConnEnvirons                (ConnHandle             hConn,
  479.                                  ConnEnvironRec *        theEnvirons);
  480.  
  481. EXTERN_API( short )
  482. CMChoose                        (ConnHandle *            hConn,
  483.                                  Point                     where,
  484.                                  ConnectionChooseIdleUPP  idle);
  485.  
  486. EXTERN_API( void )
  487. CMEvent                            (ConnHandle             hConn,
  488.                                  const EventRecord *    theEvent);
  489.  
  490. EXTERN_API( void )
  491. CMGetToolName                    (short                     procID,
  492.                                  Str255                 name);
  493.  
  494. EXTERN_API( short )
  495. CMGetProcID                        (ConstStr255Param         name);
  496.  
  497. EXTERN_API( void )
  498. CMSetRefCon                        (ConnHandle             hConn,
  499.                                  long                     refCon);
  500.  
  501. EXTERN_API( long )
  502. CMGetRefCon                        (ConnHandle             hConn);
  503.  
  504. EXTERN_API( long )
  505. CMGetUserData                    (ConnHandle             hConn);
  506.  
  507. EXTERN_API( void )
  508. CMSetUserData                    (ConnHandle             hConn,
  509.                                  long                     userData);
  510.  
  511. EXTERN_API( void )
  512. CMGetErrorString                (ConnHandle             hConn,
  513.                                  short                     id,
  514.                                  Str255                 errMsg);
  515.  
  516. EXTERN_API( CMErr )
  517. CMNewIOPB                        (ConnHandle             hConn,
  518.                                  CMIOPBPtr *            theIOPB);
  519.  
  520. EXTERN_API( CMErr )
  521. CMDisposeIOPB                    (ConnHandle             hConn,
  522.                                  CMIOPBPtr                 theIOPB);
  523.  
  524. EXTERN_API( CMErr )
  525. CMPBRead                        (ConnHandle             hConn,
  526.                                  CMIOPBPtr                 theIOPB,
  527.                                  Boolean                 async);
  528.  
  529. EXTERN_API( CMErr )
  530. CMPBWrite                        (ConnHandle             hConn,
  531.                                  CMIOPBPtr                 theIOPB,
  532.                                  Boolean                 async);
  533.  
  534. EXTERN_API( CMErr )
  535. CMPBIOKill                        (ConnHandle             hConn,
  536.                                  CMIOPBPtr                 theIOPB);
  537.  
  538. #endif  /* CALL_NOT_IN_CARBON */
  539.  
  540.  
  541. #if PRAGMA_STRUCT_ALIGN
  542.     #pragma options align=reset
  543. #elif PRAGMA_STRUCT_PACKPUSH
  544.     #pragma pack(pop)
  545. #elif PRAGMA_STRUCT_PACK
  546.     #pragma pack()
  547. #endif
  548.  
  549. #ifdef PRAGMA_IMPORT_OFF
  550. #pragma import off
  551. #elif PRAGMA_IMPORT
  552. #pragma import reset
  553. #endif
  554.  
  555. #ifdef __cplusplus
  556. }
  557. #endif
  558.  
  559. #endif /* __CONNECTIONS__ */
  560.  
  561.